// 资产列表页面逻辑
Page({
  data: {
    assets: [], // 所有资产数据
    filteredAssets: [], // 过滤后的资产数据
    searchKeyword: '', // 搜索关键词
    isLoading: false // 新增：加载状态
  },

  onLoad(option) {
    console.log(option);
    this.loadAssets(); // 页面加载时获取数据
  },

  // 加载资产数据（从后端获取）
  loadAssets() {
    const app = getApp();
    if (this.data.isLoading) return; // 防止重复请求
    
    this.setData({ isLoading: true }); // 显示加载状态
    
    wx.request({
      url: `${app.globalData.api}/wx/showAssets?id=`+wx.getStorageSync('id'), // 假设后端接口地址
      method: 'GET', // 根据后端接口类型调整（GET/POST等）
      header: {
        'content-type': 'application/json', // 通用请求头
        // 如需认证可添加Token
        // 'Authorization': `Bearer ${app.globalData.token}`
      },
      success: (res) => {
        if (res.statusCode === 200 ) {
          const assets = res.data.data || []; // 解析后端返回数据结构
          this.setData({
            assets,
            filteredAssets: assets
          });
        } else {
          this.handleRequestError(res.data.msg || '获取资产失败');
        }
      },
      fail: (err) => {
        this.handleRequestError('网络请求失败，请检查网络连接');
        console.error('资产数据请求失败:', err);
      },
      complete: () => {
        this.setData({ isLoading: false }); // 隐藏加载状态
      }
    });
  },

  // 统一错误处理
  handleRequestError(msg) {
    wx.showToast({
      title: msg,
      icon: 'none',
      duration: 2000
    });
  },

  // 处理搜索输入
  handleSearchInput(e) {
    const keyword = e.detail.value;
    this.setData({
      searchKeyword: keyword
    });
    this.filterAssets(keyword);
  },

  // 过滤资产
  filterAssets(keyword) {
    if (!keyword) {
      this.setData({
        filteredAssets: this.data.assets
      });
      return;
    }
    
    const filtered = this.data.assets.filter(item => 
      item.name.includes(keyword) || 
      (item.description && item.description.includes(keyword))
    );
    
    this.setData({
      filteredAssets: filtered
    });
  },

  // 查看资产详情
  viewDetail(e) {
    const assetId = e.currentTarget.dataset.id;
    console.log("assetId:"+assetId)
    wx.navigateTo({
      url: `/pages/assetList/assetDetail/assetDetail?id=${assetId}`
    });
  },

  // 显示删除确认对话框
  showDeleteConfirm(e) {
    const assetId = e.currentTarget.dataset.id;
    const asset = this.data.assets.find(item => item.id === assetId);
    
    wx.showModal({
      title: '确认删除',
      content: `确定要删除资产"${asset.name}"吗？`,
      success: (res) => {
        if (res.confirm) {
          this.deleteAsset(assetId);
        }
      }
    });
  },

  // 删除资产（需与后端接口交互）
  deleteAsset(assetId) {
    const app = getApp();
    this.setData({ isLoading: true }); // 显示加载状态
    console.log('删除:'+assetId)
    wx.request({
      // url: `${app.globalData.api}/wx/deleteaAssets?assetId='+${assetId}`,
      url: `${app.globalData.api}/wx/deleteaAssets?assetId=`+assetId,
      method: 'GET', // 根据后端接口类型调整
      header: {
        'content-type': 'application/json'
      },
      success: (res) => {
        
        if (res.statusCode === 200) {
          // 本地数据更新
          const updatedAssets = this.data.assets.filter(item => item.id !== assetId);
         
          console.log(updatedAssets)
          this.setData({
            assets: updatedAssets,
            filteredAssets: updatedAssets.filter(item => 
              item.name.includes(this.data.searchKeyword) || 
              (item.description && item.description.includes(this.data.searchKeyword))
            )
          });
             wx.showToast({
            title: '删除成功',
            icon: 'success'
          });
          
         
        } else {
          this.handleRequestError(res.data.msg || '删除资产失败');
        }
      },
      fail: (err) => {
        this.handleRequestError('删除请求失败，请检查网络连接');
        console.error('资产删除请求失败:', err);
      },
      complete: () => {
        this.setData({ isLoading: false }); // 隐藏加载状态
      }
    });
  }
});